#pragma once
#include <jstruct.h>


/************************************************************************/
/* this is an example struct, you can delete
/************************************************************************/
template <typename user_t
    , typename jnumber_t
    , typename jstruct_t>
jstruct struct_name
{
    user_t      user_field;                 // user data, serialize and vice-versal unrelated

public jreq:
    jbool       bool_field;

    jnumber_t   number_field;               // now support int, unsigned, __int64, unsigned __int64, float, double
    jnumber_t   number_array_field[2];

    jwchar      wchar_array_field[1024];    // now support wchar_t only, because of the conversion from utf8 to utf16 was done internally
    jwchar      wchar_table_field[2][1024];

public jopt:
    jstruct_t   struct_field;               // user custom defined struct
    jstruct_t   struct_array_field[2];
};

// TODO: Add your struct declaration code here
BEG_NAMESPACE(%ns%)

jstruct jroot
{
public jreq:

public jopt:
};

END_NAMESPACE
